package com.gdust.hzx.manager.mapper;

import com.gdust.hzx.model.entity.product.ProductDetails;
import org.apache.ibatis.annotations.Mapper;

/**
 * ClassName: ProductDetailsMapper
 * Package: com.gdust.spzx.manager.mapper
 * Description:
 * 商品详情数据访问层接口，提供对商品详情表的增删改查操作。
 *
 * 主要功能：
 * - 保存商品详情数据
 * - 根据商品 ID 查询详情
 * - 更新商品详情信息
 * - 根据商品 ID 删除详情记录
 *
 * @Author syun
 * @Create 2024/12/22 21:32
 * @Version 1.0
 */
@Mapper
public interface ProductDetailsMapper {
    /**
     * 保存商品详情数据。
     *
     * @param productDetails 商品详情对象，包含详细描述、图片地址等信息。
     */
    void save(ProductDetails productDetails);

    /**
     * 根据商品 ID 查询商品详情数据。
     *
     * @param id 商品的唯一标识 ID。
     * @return 对应的商品详情对象，如果未找到则返回 null。
     */
    ProductDetails findProductDetailsById(Long id);

    /**
     * 更新商品详情表中的信息。
     *
     * @param productDetails 商品详情对象，包含需要更新的字段和对应数据。
     */
    void updateById(ProductDetails productDetails);

    /**
     * 根据商品 ID 删除商品详情表中的记录。
     *
     * @param id 商品的唯一标识 ID。
     */
    void deleteByProductId(Long id);
}
